home *** CD-ROM | disk | FTP | other *** search
/ AM/FM: Amiga Musicians' Freeware Magazine 2 / AM-FM 2.adf / text / xorreview.txt.pp / xorreview.txt (.png)
ANSI Art File  |  1991-09-26  |  22KB  |  640x5712
Labels: text | screenshot
OCR: AM/FM Article: 2611 of comp.music Xref: ifi comp.sys.atari.st:18924 comp.music:2611 Path: ififnuug fugle.unit.nofsunicfncsunfunido! fauern!ira.uka.detsol.ctr.columbia .edusansung fusc fuuarchive funnet faurs01!uhitcomb From: whitcomb@aurs01.uucp (Jonathan Whitcomb) Newsgroups: comp.sys.atari.st,comp.music Subject: Revieu of Dr.T's X-or (LONG) Keywords: MIDI, Universal Patch Editor, Atari ST, PC, Mac, (Amiga?) Message-ID: <59603@aurs01.UUCP> Date: Mon, 25 Feb 91 23:09:47 MET Sender: neus@aurs01.UUCP Organization: Alcatel Network Systems, Raleigh NC Lines: 390 to the folks who wrote me in appreciation of my review of Dr.I's As promised, here are my impressions of Dr.I's X-or Universal Patch Editor/Librarian. First, some background for the un-initiated. Thank you sequencers. AM/FM PATCH EDITORS The first synthesizers were made up of discrete components, such as oscillators, filters and envelope generators. In order to create a sound, you had to wire the various modules together. Every time you wanted to create a new sound, you had to plug in new patch cords to connect different modules. The term "patch" is now used as a generic descriptor for a programmed synthesizer sound, sample, effects setting, or any number of things. (Lots of synthesizer jargon has similarly archaic roots For instance, pitch is often described in terms of lengths, taken from the pipe lengths used in pipe organs.) A nodern digital synthesizer uses logical circuits instead of physical patches. These logical circuits are often analogous to the old patches. One paradox in the evolution of the synthesizer is that as they became more and more complex, fewer and fewer physical controls were provided. Instead of knobs and sliders, parameters were accessed by computer like menu structures on a tiny backlit LCD display. While this certainly decreased the size and complexity (and cost) of synthesizers, it also made accessing parameters and controls more cumbersone. Some operations are nanagable with this interface, such as calling up pre-programmed patches on a synth, but when it comes to trying to manipulate a waveform or envelope, forget it. Because of this, many musicians have given up trying to change the internal patches themselves, and just live with the factory progranned sounds. This is really a shane, because half the fun of using a synthesizer is being able to create sounds that could not be created with traditional instruments. "Patch Editor" prograns provide an alternative user interface. The patch editor runs on your computer and communicates with your synthesizer via the MIDI link. Instead of a little LED and some knobs and buttons, you have a full monitor screen that can be controlled with the keyboard or nouse. You can manipulate much nore data at once on your computer than you can on your synth or rack mount. Keyboard ranges can be selected graphically, envelopes can be drawn instead of numerically described, and multi-function pots can be seperated into multiple sliders on the screen. Patch Editors let you get into the guts of synthesis. You can start playing with waveforms and oscillators to create new sounds, even if you haven't taken courses in electronics and Fourier Analysis and think that an oscillator is a large flightless bird that hides its head in the sand. You can learn alot about the physics of music just by playing with a few parameters. When you first start out playing with a patch editor, the best thing to do is just start changing parameters and see what it does to the sound. Sometimes a small change will not seemingly make an audible difference, or sometimes it will convert a flute into a jack hammer. Some of my most interesting patches came about by accident. Patch editors have several limiting factors. First, a patch editor can't control a function that does not have a MIDI command assigned to it. Second, the quality of the editor depends upon the progranner's interpretation of how the synth's functions should most usefully be displayed. Third, you have to wait for someone to write an editor for your particular piece of gear, and if your synth never becomes popular enough to support a patch editor, you're out of luck. At best there is a several month lapse between the release of a new synth and the appearence of it's patch editor. Finally, you have to go out and buy a new patch editor for each piece of gear you bought. If you have several editors by different software companies, they are probably not compatible, and you have to learn new interfaces for each. PATCH LIBRARIANS Once you have created your newest patch emulating a lizard belching (played backwards), you will probably want to save it for future generations to cherish. Unfortunately, your synth only has enough memory for 50 patches, and in order to store the lizard, you'll have to wipe out the chorus of moaning Swedish milk naids. Sone synths let you store patches on external media, such as cartidges, cassettes or disks. These come in all kinds of non-compatible shapes and sizes, and usually are very pricey, and sooner or later you'll fill them up too, so we're back to the Lizards us. Milk Maids dilemma. A patch librarian lets you store patches to disks on your computer This is nice, because computer disks are cheap, reliable, hold lots of data, and will probably be around long after the synth manufacturer has stopped supporting the media your synth uses. The number of patches that your synth can hold in active memory defines the "bank" size for your synth. Librarians can usually swap individual patches, or entire banks of patches with your synth. Then you can create custom banks on your computer, and load then to your synth as needed. For instance, if you are playing out with your netal band on Friday, just load up your "BONE CRUSHER DEATH SCREAM" bank, and you're ready to go. For your Saturday morning Polka gig, you load your "HONKS AND OOMPAS" bank, and for Sunday's New Age wedding, load up "INABTRUSIVE MELLOW EARTH TONES". Sleep in on Monday. “UNIVERSAL" PATCH EDITOR/LIBRARIANS Recently, music software companies have started to release "universal" patch editors. These programs are designed to be general enough to control any piece of MIDI gear Ideally, this sounds great. You just have to buy one editor and then you are done with it. You only have to learn one interface. You can nou talk to all of your weird obscure old synths that nobody ever rote patch editors for. You are ready to conquer the world. Hang on there, cowboy! There are problems in paradise. You see, even though the warring factions of synth manufacturers managed to agree on an external language that allowed their synths to communicate in general terms, they also provided for special codes that allowed MIDI control of company proprietary features. These codes are called "Systen Exclusive", and every manufacturer has their own way of dealing with then. The basic way they work is that a special systen exclusive byte is transmitted alerting all synths that a SysEx message is about to follow. The next byte is a nanufacturer's code, and all synths by other manufacuter's are supposed to ignore all of the following data until the end of the SysEx transmission. Here's the problem...the contents of the SysEx message have not been standardized, so a universal patch editor has to be able to recognize not only every manufacturer's code, but it must know exactly how all the features of every existing and future synth work (single manufacturers are not even consistant from one synth to the next). Well, this is impossible, of course. Another approach is to create a patch editor that is so generic that almost all synths will be able to use it after you enter in some specific Systen Exclusive codes into a menu. The problem with this is that a generic patch editor will most likely not support many of the special features unique to your synth. In attempting to create an editor that is useful for all synths, you end up with an editor that isn't useful for any of then. Bob Melvin came up with a nifty solution to most of these problems. X-OR Bob Melvin designed most of Dr.I's machine specific patch editors using the name "The Caged Artist". After poring over the guts of scads of synths, he was able to see what most of these nachines had in connon, and where they differed. He then went about designing a skeleton patch editor program based on the common features of synthesizers. This program is called "X-or", because it deals synth are kept in a seperate file, called the machine's "Profile". The idea is that once you buy the universal editor, all you have to do is get a profile for each of your individual machines. You do not have to pay for the profiles, but you do have to wait for them to be written...or, you can write then yourself. with systen exclusive data The details of each specific X-OR THE PATCH EDITOR How can a universal editor control a synth as well as a machine specific The secret is in the profile. Profiles can be as simple or as as your synth. X-or graphically displays controllers in several forms. Sliders are used the same way pots are used on a physical device, and editor? complex a numeric display constantly gives the current value. Text boxes come in which lets you graphically control several flavors, and can be used to select options. One of the most powerful editing features is the Envelope Box, several complex parameters at once. It is not easy to describe these features, but it is easy to use then. The profile writer has all of these tools availible to him. X-or has some fun "extras" that are great for patch editing. Suppose you have two patches, called GROWL and WHINE, and you want to use some parameters from each to create a GROWLY WHINE patch. X-or lets you transplant sections of patches and nerge then in any way you wish. If this sounds too tedious, a randonizer option will do it for you, and create an entire bank of patches using various combinations of the two parent patches. Then you can listen to them and keep any or all that you like. Kind of like genetic engineering. Complex synths may be operated in several modes (Single, Layered, Multi, X-or deals with complex machines by breaking then down into multiple "instruments". A typical multi-timberal synth may have several instruments, wheras a simple sample playback unit may only have one. X-or uses this "divide and conquer" method to break the information into reasonable chunks. THE LIBRARIAN etc.). X-OR You can store patches individually, in banks, or in a library. The library is like a giant bank with no size linit. When you store the patch, you can write a brief description of it, and assign it key words. Key word describe a sound and STRINGS divide it into several categories, like PERCUSSIVE, ELECTRONIC, HORNS, and so on. Then X-or has some database like searching functions that let you find all the patches with one or more key words. After you have made a library and sone banks, it is easy to mix and match patch patches, just by dragging a patch between windows. You can have a single in as many banks as you want, but you can't have redundant patches in X-OR THE SYSTEM MANAGER the library. X-or does nore than just replace your instrument specific editors, it helps you manage all of your sound and effects modules in such a way that it lets "I'm want to you treat then all as a single instrument. Say that on your future hit single a Hairy Chested Guy With Huge Private Parts", you are using two sounds on your multitinbral synth (SEXY STRINGS and BEEFY BONES), your sampler (with CRIES OF AMAZEMENT), and a digital delay (...ELAY. .ELAY...ELAY...). Then you load up your follow-up single, "Well Size Isn't Everything" using SORROWFUL STRINGS and MOURNFUL MARIMBA on the synth, HYSTERICAL LAUGHTER on the sampler, and FAST SLAPBACK on the delay. Doing this by hand can be tedious, and X-or simplifies the process considerably, by taking a snapshot of the configurations of all of your machines, and saving them in a file called a The next time you want to use these performance settings, select "Load Performance" from the menu, and X-or will sequentially restore the patch settings of each of your machines. There is a catch here. Since many System Exclusive data transfers require handshaking ("I'm okey, you okey?", "Sorry, I just washed my hair...", "I'll wait...Ready yet?", "Yep.", "Okey, here it comes!"), X-or must have a two way communications link with all of your modules...even your slaves. to talk to "performance". In order for X-or all of your machines, you either have to constantly re-patch buy a programmable MIDI patch bay (frankly, once you have more devices, you'll probably want a patch bay even if you don't get a When X-or loads a performance, it first instructs your bay a two way MIDI link between your computer and your synth, patch and then your system, or than 2 MIDI univeral editor). to set up loads the previously saved patch. It does this for each nachine in sequence, until all are playing the patch that was used when you saved the performance. Now you don't have to spend ten minutes fiddling with knobs and buttons every time you change song settings. X-OR AND KCS If you run X-or as a module in Dr.I's Multi Progran Environment (MPE), you can access KCS sequences from X-or. In X-or the right nouse button can be or glissendo on the currently selected synth, or you configured the current cue loop in KCS or Tiger Cub. This is great if you are to listen to it in the context of a song. may play playing with version of The new Dr.I's song editor will let you load an X-or performance without (Actually, this feature is implemented in the song editor, but we'll have to wait for the next version of X-or before this is working.) An MPE module "X-Load" can also load a performance from within KCS. The extended MIDI channels are not currently supported by X-or, but will be in the next release. Oh, you'll need more than one neg of nenory to run X-or and KCS at the sane time (I can fit MIDI software KCS, X-or, TIGER and the song editor in 2 megs on my ST). tends to eat up lots of memory. You can configure the buffer sizes of X-or so it only uses as much as you need for your setup. X-OR THE MOVIE It takes a bit of work to configure X-or to work with your system. You need to set up a seperate folder for each instrument, and you will have to set up a patch for your MIDI switcher for each instrument to communicate with X-or. Then you may have to tweak sone timing parameters to get everything working. However, once you've gotten it going, you'll never believe you got on without it I think of X-or as a work in progress. is so big and so ambitious, that it It is a niracle it works at all, let alone as well as it does. refinement, however. Occasionally my MIDI switcher chokes on all of the Sysex It does need sone data being thrown around, and behaviour isn't always predictable. Bob Melvin bbs, and is always helpful. He actually borrowed is accessable through Dr.I's my old Korg 707 and spent tuo solid days writing the profile for me last sunner (before I learned to do it myself). the only machines that can benefit from X-or. I progran Note that synths aren't my MIDI patch bay from X-or, and you can also set up patches for effects boxes, guitar anps, mixers, and anything else that speaks MIDI. doesn't exist for own profile X-OR THE BARBARIAN (E-OR) If a profile your synth, you are not entirely out of luck. You may write your using a program called "E-or", which comes with X-or (or at least it did with the Atari ST version). Profile writing should only be attempted by people with programming experience and a knowledge of the documentation is sketchy, and the program has it's own (It also helps to be able to think in binary and MIDI, because assembly-like language. hex.) And that's not the group bad part! The bad part is that synth designers are the most warped on the of the things they do synths are just plain weird. You will need a complete synth you can embark on your journey (urite the to get their MIDI spec on your manufacturer). Having profiles and have modified is divided patch editor is done for you. before said all another, and this, ill say that a most satisfying hack. uritten tuo it is into several screens, and most of the dirty work of writing a E-or For graphics, all you have to do is choose what kind of interface box you want (slider, text box, envelope box, etc.), assign it to and assign the screen coordinates. Modules and functions are listed tables, so this is by natching table index numbers (it's than it done simply sounds). Most of the I/O routines you will need have already written, all you have to do is map then to graphic modules. and you have to The only times get into the E-or programming language is when you have to work around some on the part of the manufacturer, or if you want to do something "creative". also have to progran the basic are pretty trivial. Bob makes it easy by data packing schemes used by by making the details invisible to the programmer. My main ugly kludge Okey, you transmit and receive routines, but they letting you specify one of several manufacturers complaint with is currently little cumbersone, but never really gets in your way. The programming language is broad enough nost tasks, and has many MIDI specific low level stuff invisible to the programmer (i.e. you device drivers E-or you can't comment your code. The editor is a tackle opcodes that nake the won't have about and interrupt handlers). It can be who has worked with an assembly language. to worry easily understood by anyone want to write Even if you don't your own profile, you may want to go into E-or to customize an existing one. This writing one from scratch. In fact, if all you want to is much easier than is re-arrange the do way the controls appear on the screen, or want to re-label some parameters, you don't have to get into the "programming" part of E-or at all. X-OR THE END If you only have one synth, you probably won't need X-or if an instrument specific is availible. that the hooks to KCS and Tiger Cub the extra Even so, you may find expense worthwhile. If you re-configure your system have several synths and hate having to re-wire and all the time you change you'll if very useful. If you have an obscure or obsolete synt wrote an editor for, you'll find it will not only make your life will breathe new old synth. only scenes, that nobody easier, it pre-programmed a good investment, tweak parameters, it's patches and life into your library the If you work with functions alone will make this and like to get into the guts of your machines and way to go. Although X-or difficult to set up, you only have to do it once. It is very it has been configured. Adding on new synths is not difficult the initial setup working. Currently there availible (they come with the program on a separate more then and uploading then to bulletin (Dr.I's uses the BBS in Boston for tech support, and new show up there regularly). Now that X-or has been ported to the PC, Mac version is due out in be lots more profiles out March, there should transportable between machines). version of X-or, but if not, has been very (they are I'm not sure if there is an Amiga there will be in a matter of months. Poor Bob busy! The fact that X-or will be running on four platforms (ST, Mac, PC and Amiga) bodes well for it's survival prospects. Some manufacturers are paying Dr.I's to develop profiles for new synths as they are released. Since profiles are transportable, it is conceivable that this format will out live the machines it is currently running on. X-OR THE ADVERTISEMENT Oh, and if anyone needs profile written, I'll be glad to do it if you'll buy me the synth first. :^) -Jonathan the verbose. UUCP: <...fmcncfaurgatefuhitcomb> Jonathan Whitcomb (919) 850-6231 I'm not a software engineer, Raleigh, NC but I play one on TV. to play a note a patch and want even leaving the song editor. a function, in easier been editor make easy once is somewhat to use once you've over are disk), and boards of hackers to work profiles and the coming samples, if you the only gotten 100 profiles more and planet, people and some are writing Berklee